package com.jy.wms.service;

import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.jy.wms.common.annotions.BaseServiceDescribe;
import com.jy.wms.common.base.BaseService;
import com.jy.wms.common.base.ServiceException;
import com.jy.wms.common.base.SucessException;
import com.jy.wms.dao.WmsOwnerSupplierMapper;
import com.jy.wms.pojo.WmsAddressDictionary;
import com.jy.wms.pojo.WmsLibraryPosition;
import com.jy.wms.pojo.WmsOwner;
import com.jy.wms.pojo.WmsOwnerSupplier;
import org.springframework.stereotype.Service;

import java.util.List;

/**
    * @ClassName: WmsOwnerSupplierService.java
    * @Description: TODO(这里用一句话描述这个类的作用)
    * @Author JaneLiu
    * @Date Tue Sep 05 16:12:01 CST 2017
    */

    @Service
    public class WmsOwnerSupplierService extends BaseService<WmsOwnerSupplierMapper,WmsOwnerSupplier> {

     /**
     * 插入一条记录
     * @param entity 实体对象
     * @return int
     */
     @BaseServiceDescribe(moduleName = "货主供应商管理",btnName = "新增货主供应商")
    public void baseInsert( WmsOwnerSupplier entity ) throws Exception {
         Integer i =dao.baseInsert( entity);
         if(i>0){
             throw new SucessException("新增货主供应商成功");
         }else{
             throw new ServiceException("新增货主供应商失败");
         }
    }
    /**
     * 用户编号查询货主编号
     * @param Id
     * @return
     */
    public String searchHzId(String Id ){
        return dao.searchHzId( Id );
    }
   /**
    * 插入一条记录（匹配有值的字段）
    * @param entity 实体对象
    * @return int
    */
    public Integer baseInsertSelective( WmsOwnerSupplier entity ){
         return dao.baseInsertSelective( entity );
    }

   /**
    * 删除（根据主键ID删除）
    * @param id 主键
    * @return int
    */
    public Integer baseDeleteByPrimaryKey( String id ){
         return dao.baseDeleteByPrimaryKey( id );
    }

   /**
    * 删除（根据ID 批量删除）
    * @param idList 主键ID列表
    * @return int
    */
    public Integer baseDeleteBathPrimaryKeys( List<String> idList ){
         return dao.baseDeleteBathPrimaryKeys( idList );
    }

    /**
    * 分页查询
    * @param entity 实体
    * @return Page<WmsOwnerSupplier>
    */
    @BaseServiceDescribe(moduleName = "货主供应商管理",btnName = "查询货主供应商")
    public Page<WmsOwnerSupplier> baseSelectPage(WmsOwnerSupplier entity ) throws ServiceException{
        try {
            PageHelper.startPage(entity.getPage(), entity.getRows());
            return (Page<WmsOwnerSupplier>) dao.baseSelectPage(entity);
        }catch(Exception e){
            throw new ServiceException("查询货主供应商失败",e);
        }
    }

   /**
    * 查询（根据主键ID查询）
    * @param id 主键ID
    * @return WmsOwnerSupplier
    */
    public WmsOwnerSupplier baseSelectByPrimaryKey( String id  ){
         return dao.baseSelectByPrimaryKey( id );
    }

   /**
    * 查询（根据ID 批量查询）
    * @param idList 主键ID列表
    * @return list
    */
    public Integer baseSelectBathPrimaryKeys( List<WmsOwnerSupplier> idList ){
         return dao.baseSelectBathPrimaryKeys( idList );
    }

   /**
    *修改 （匹配有值的字段）
    * @param entity 主键ID列表
    * @return int
    */
    public Integer baseUpdateByPrimaryKeySelective( WmsOwnerSupplier entity ){
         return dao.baseUpdateByPrimaryKeySelective( entity );
    }

   /**
    *修改（根据主键ID修改）
    * @param entity 主键ID列表
    * @return int
    */
    public Integer baseUpdateByPrimaryKey( WmsOwnerSupplier entity ){
         return dao.baseUpdateByPrimaryKey( entity );
    }
   /**
    *查询（根据货主ID查询）
    * @param sshzid 货主Id
    * @param mc 供应商名称
    * @return List<WmsOwnerSupplier>
    */
    public List<WmsOwnerSupplier>  baseSelectBySshzid( String sshzid, String mc,String ckid){
           return dao.baseSelectBySshzid(sshzid,mc,ckid);
    }

        /**
         * 查询用户所属全部货主
         * @param ckid
         * @return
         */
    public Page<WmsOwner> addSearch(String ckid,String hzmc ){
        PageHelper.startPage(0,20);
        return (Page<WmsOwner>)dao.addSearch( ckid,hzmc );
    }

    /**
     * 添加前去重复
     * @param bh
     * @param ckid
     * @param hzid
     * @return
     */
    public WmsOwnerSupplier searchADD(String bh,String ckid,String hzid){
        return dao.searchADD(bh,ckid,hzid);
    }

    /**
     * 国家查询
     * @param id
     * @return
     */
    public WmsAddressDictionary searchGJ(String id){
        return dao.searchGJ(id);
    }

    /**
     * 省查询
     * @param gjid
     * @param show_sheng
     * @return
     */
    public List<WmsAddressDictionary> searchS(String gjid,String show_sheng){
        return dao.searchS(gjid,show_sheng);
    }
}
